import { requestClient } from '#/api/request';
import type { PageResult } from '#/api/common';
import type { TableVO, TableForm, TableQuery } from '#/api/operate/demandForecast/showTypes';

/**
 * 查询数据列表
 * @param query
 * @returns {*}
 */
//export const listTable = (query?: TableQuery) =>
  //requestClient.post<PageResult<TableVO>>('/handle/data/getData?dataCode=city_product_put_week', { params: query });
/**
 * 查询数据列表
 * @param query
 * @returns {*}
 */
export const listTable = (query?: TableQuery) => {
  
  // 构建参数
  const param = "";
  
  // 使用与 Postman 完全相同的数据结构
  const requestBody = {
    userId: query?.userId || 123,  // 使用与 Postman 测试相同的 userId
    dataCode: 'MonthlySales_year_price',
    param: param || ''  // 确保 param 不是 undefined
  };
  
  // 方法4：显式指定 data 属性，避免请求拦截器的参数处理逻辑问题
  return requestClient.post<PageResult<TableVO>>('/handle/data/getData', requestBody, {
    headers: {
      'Content-Type': 'application/json'
    }
  });
};

/**
 * 导出数据
 * @param query
 * @returns {*}
 */
export const exportTable = (query?: TableQuery) => {
  const requestBody = {
    userId: query?.userId || 123,
    dataCode: 'MonthlySales_year_price',
    param: ''
  };
  
  return requestClient.post<Blob>('/handle/data/getData', requestBody, {
    headers: {
      'Content-Type': 'application/json'
    },
    responseType: 'blob'
  });
};
